#ifndef TEXTUREMANAGER_H_
#define TEXTUREMANAGER_H_

#include <d3d11.h>
#include <vector>
using namespace std;
#include <atlbase.h>
//#include <d3dx11tex.h>

enum TEXTURE_TYPE{DIFFUSE_TEXTURE, NORMAL_TEXTURE, SPECULAR_TEXTURE};

struct Image
{
	CComPtr<ID3D11ShaderResourceView> texture;
	float height;
	float width;
};

class TextureManager
{
public:
	TextureManager();
	TextureManager(const TextureManager&);
	~TextureManager();

	static int AddTexture(WCHAR* _filename);
	static int NumberOfTextures();
	static ID3D11ShaderResourceView* GetTextureArrayPointer();
	static void Shutdown();


	static ID3D11ShaderResourceView* GetTexture(int _index);
	static float GetTextureHeight(int _index);
	static float GetTextureWidth(int _index);

private:
	static vector<Image> textures;
};

#endif